ITP001 Axioms: ITP015^7.ax


%------------------------------------------------------------------------------
% File     : ITP015^7 : TPTP v8.2.0. Bugfixed v7.5.0.
% Domain   : Interactive Theorem Proving
% Axioms   : HOL4 syntactic export, chainy mode
% Version  : [BG+19] axioms.
% English  :

% Refs     : [BG+19] Brown et al. (2019), GRUNGE: A Grand Unified ATP Chall
%          : [Gau19] Gauthier (2019), Email to Geoff Sutcliffe
% Source   : [BG+19]
% Names    : prim_rec.ax [Gau19]
%          : HL4015^7.ax [TPAP]

% Status   : Satisfiable
% Syntax   : Number of formulae    :   80 (  20 unt;  27 typ;   0 def)
%            Number of atoms       :  126 (  36 equ;   9 cnn)
%            Maximal formula atoms :    5 (   1 avg)
%            Number of connectives :  427 (   9   ~;   4   |;  17   &; 367   @)
%                                         (  12 <=>;  18  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   16 (   6 avg; 367 nst)
%            Number of types       :    3 (   2 usr)
%            Number of type conns  :  119 ( 119   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :   27 (  25 usr;   2 con; 0-6 aty)
%            Number of variables   :  175 (  20   ^ 130   !;   8   ?; 175   :)
%                                         (  17  !>;   0  ?*;   0  @-;   0  @+)
% SPC      : TH1_SAT_EQU_NAR

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
thf(tyop_2Emin_2Ebool,type,
    tyop_2Emin_2Ebool: $tType ).

thf(tyop_2Emin_2Efun,type,
    tyop_2Emin_2Efun: $tType > $tType > $tType ).

thf(tyop_2Enum_2Enum,type,
    tyop_2Enum_2Enum: $tType ).

thf(c_2Ebool_2E_21,type,
    c_2Ebool_2E_21: 
      !>[A_27a: $tType] : ( ( A_27a > $o ) > $o ) ).

thf(c_2Ebool_2E_2F_5C,type,
    c_2Ebool_2E_2F_5C: $o > $o > $o ).

thf(c_2Enum_2E0,type,
    c_2Enum_2E0: tyop_2Enum_2Enum ).

thf(c_2Eprim__rec_2E_3C,type,
    c_2Eprim__rec_2E_3C: tyop_2Enum_2Enum > tyop_2Enum_2Enum > $o ).

thf(c_2Emin_2E_3D,type,
    c_2Emin_2E_3D: 
      !>[A_27a: $tType] : ( A_27a > A_27a > $o ) ).

thf(c_2Emin_2E_3D_3D_3E,type,
    c_2Emin_2E_3D_3D_3E: $o > $o > $o ).

thf(c_2Ebool_2E_3F,type,
    c_2Ebool_2E_3F: 
      !>[A_27a: $tType] : ( ( A_27a > $o ) > $o ) ).

thf(c_2Ebool_2E_3F_21,type,
    c_2Ebool_2E_3F_21: 
      !>[A_27a: $tType] : ( ( A_27a > $o ) > $o ) ).

thf(c_2Emin_2E_40,type,
    c_2Emin_2E_40: 
      !>[A_27a: $tType] : ( ( A_27a > $o ) > A_27a ) ).

thf(c_2Ebool_2ECOND,type,
    c_2Ebool_2ECOND: 
      !>[A_27a: $tType] : ( $o > A_27a > A_27a > A_27a ) ).

thf(c_2Eprim__rec_2EPRE,type,
    c_2Eprim__rec_2EPRE: tyop_2Enum_2Enum > tyop_2Enum_2Enum ).

thf(c_2Eprim__rec_2EPRIM__REC,type,
    c_2Eprim__rec_2EPRIM__REC: 
      !>[A_27a: $tType] : ( A_27a > ( A_27a > tyop_2Enum_2Enum > A_27a ) > tyop_2Enum_2Enum > A_27a ) ).

thf(c_2Eprim__rec_2EPRIM__REC__FUN,type,
    c_2Eprim__rec_2EPRIM__REC__FUN: 
      !>[A_27a: $tType] : ( A_27a > ( A_27a > tyop_2Enum_2Enum > A_27a ) > tyop_2Enum_2Enum > tyop_2Enum_2Enum > A_27a ) ).

thf(c_2Erelation_2ERTC,type,
    c_2Erelation_2ERTC: 
      !>[A_27a: $tType] : ( ( A_27a > A_27a > $o ) > A_27a > A_27a > $o ) ).

thf(c_2Eprim__rec_2ESIMP__REC,type,
    c_2Eprim__rec_2ESIMP__REC: 
      !>[A_27a: $tType] : ( A_27a > ( A_27a > A_27a ) > tyop_2Enum_2Enum > A_27a ) ).

thf(c_2Eprim__rec_2ESIMP__REC__REL,type,
    c_2Eprim__rec_2ESIMP__REC__REL: 
      !>[A_27a: $tType] : ( ( tyop_2Enum_2Enum > A_27a ) > A_27a > ( A_27a > A_27a ) > tyop_2Enum_2Enum > $o ) ).

thf(c_2Enum_2ESUC,type,
    c_2Enum_2ESUC: tyop_2Enum_2Enum > tyop_2Enum_2Enum ).

thf(c_2Erelation_2ETC,type,
    c_2Erelation_2ETC: 
      !>[A_27a: $tType] : ( ( A_27a > A_27a > $o ) > A_27a > A_27a > $o ) ).

thf(c_2Erelation_2EWF,type,
    c_2Erelation_2EWF: 
      !>[A_27a: $tType] : ( ( A_27a > A_27a > $o ) > $o ) ).

thf(c_2Ebool_2E_5C_2F,type,
    c_2Ebool_2E_5C_2F: $o > $o > $o ).

thf(c_2Erelation_2Einv__image,type,
    c_2Erelation_2Einv__image: 
      !>[A_27a: $tType,A_27b: $tType] : ( ( A_27b > A_27b > $o ) > ( A_27a > A_27b ) > A_27a > A_27a > $o ) ).

thf(c_2Eprim__rec_2Emeasure,type,
    c_2Eprim__rec_2Emeasure: 
      !>[A_27a: $tType] : ( ( A_27a > tyop_2Enum_2Enum ) > A_27a > A_27a > $o ) ).

thf(c_2Eprim__rec_2Ewellfounded,type,
    c_2Eprim__rec_2Ewellfounded: 
      !>[A_27a: $tType] : ( ( A_27a > A_27a > $o ) > $o ) ).

thf(c_2Ebool_2E_7E,type,
    c_2Ebool_2E_7E: $o > $o ).

thf(logicdef_2E_2F_5C,axiom,
    ! [V0: $o,V1: $o] :
      ( ( c_2Ebool_2E_2F_5C @ V0 @ V1 )
    <=> ( V0
        & V1 ) ) ).

thf(logicdef_2E_5C_2F,axiom,
    ! [V0: $o,V1: $o] :
      ( ( c_2Ebool_2E_5C_2F @ V0 @ V1 )
    <=> ( V0
        | V1 ) ) ).

thf(logicdef_2E_7E,axiom,
    ! [V0: $o] :
      ( ( c_2Ebool_2E_7E @ V0 )
    <=> ( (~) @ V0 ) ) ).

thf(logicdef_2E_3D_3D_3E,axiom,
    ! [V0: $o,V1: $o] :
      ( ( c_2Emin_2E_3D_3D_3E @ V0 @ V1 )
    <=> ( V0
       => V1 ) ) ).

thf(logicdef_2E_3D,axiom,
    ! [A_27a: $tType,V0: A_27a,V1: A_27a] :
      ( ( c_2Emin_2E_3D @ A_27a @ V0 @ V1 )
    <=> ( V0 = V1 ) ) ).

thf(quantdef_2E_21,axiom,
    ! [A_27a: $tType,V0f: A_27a > $o] :
      ( ( c_2Ebool_2E_21 @ A_27a @ V0f )
    <=> ! [V1x: A_27a] : ( V0f @ V1x ) ) ).

thf(quantdef_2E_3F,axiom,
    ! [A_27a: $tType,V0f: A_27a > $o] :
      ( ( c_2Ebool_2E_3F @ A_27a @ V0f )
    <=> ? [V1x: A_27a] : ( V0f @ V1x ) ) ).

thf(thm_2Eprim__rec_2ELESS__DEF,axiom,
    ! [V0m: tyop_2Enum_2Enum,V1n: tyop_2Enum_2Enum] :
      ( ( c_2Eprim__rec_2E_3C @ V0m @ V1n )
    <=> ? [V2P: tyop_2Enum_2Enum > $o] :
          ( ! [V3n: tyop_2Enum_2Enum] :
              ( ( V2P @ ( c_2Enum_2ESUC @ V3n ) )
             => ( V2P @ V3n ) )
          & ( V2P @ V0m )
          & ( (~) @ ( V2P @ V1n ) ) ) ) ).

thf(thm_2Eprim__rec_2EPRE__DEF,axiom,
    ! [V0m: tyop_2Enum_2Enum] :
      ( ( c_2Eprim__rec_2EPRE @ V0m )
      = ( c_2Ebool_2ECOND @ tyop_2Enum_2Enum @ ( c_2Emin_2E_3D @ tyop_2Enum_2Enum @ V0m @ c_2Enum_2E0 ) @ c_2Enum_2E0
        @ ( c_2Emin_2E_40 @ tyop_2Enum_2Enum
          @ ^ [V1n: tyop_2Enum_2Enum] : ( c_2Emin_2E_3D @ tyop_2Enum_2Enum @ V0m @ ( c_2Enum_2ESUC @ V1n ) ) ) ) ) ).

thf(thm_2Eprim__rec_2ESIMP__REC__REL,axiom,
    ! [A_27a: $tType,V0fun: tyop_2Enum_2Enum > A_27a,V1x: A_27a,V2f: A_27a > A_27a,V3n: tyop_2Enum_2Enum] :
      ( ( c_2Eprim__rec_2ESIMP__REC__REL @ A_27a @ V0fun @ V1x @ V2f @ V3n )
    <=> ( ( ( V0fun @ c_2Enum_2E0 )
          = V1x )
        & ! [V4m: tyop_2Enum_2Enum] :
            ( ( c_2Eprim__rec_2E_3C @ V4m @ V3n )
           => ( ( V0fun @ ( c_2Enum_2ESUC @ V4m ) )
              = ( V2f @ ( V0fun @ V4m ) ) ) ) ) ) ).

thf(thm_2Eprim__rec_2ESIMP__REC,axiom,
    ! [A_27a: $tType,V0x: A_27a,V1f_27: A_27a > A_27a,V2n: tyop_2Enum_2Enum] :
    ? [V3g: tyop_2Enum_2Enum > A_27a] :
      ( ( c_2Eprim__rec_2ESIMP__REC__REL @ A_27a @ V3g @ V0x @ V1f_27 @ ( c_2Enum_2ESUC @ V2n ) )
      & ( ( c_2Eprim__rec_2ESIMP__REC @ A_27a @ V0x @ V1f_27 @ V2n )
        = ( V3g @ V2n ) ) ) ).

thf(thm_2Eprim__rec_2EPRIM__REC__FUN,axiom,
    ! [A_27a: $tType,V0x: A_27a,V1f: A_27a > tyop_2Enum_2Enum > A_27a] :
      ( ( c_2Eprim__rec_2EPRIM__REC__FUN @ A_27a @ V0x @ V1f )
      = ( c_2Eprim__rec_2ESIMP__REC @ ( tyop_2Enum_2Enum > A_27a )
        @ ^ [V2n: tyop_2Enum_2Enum] : V0x
        @ ^ [V3fun: tyop_2Enum_2Enum > A_27a,V4n: tyop_2Enum_2Enum] : ( V1f @ ( V3fun @ ( c_2Eprim__rec_2EPRE @ V4n ) ) @ V4n ) ) ) ).

thf(thm_2Eprim__rec_2EPRIM__REC,axiom,
    ! [A_27a: $tType,V0x: A_27a,V1f: A_27a > tyop_2Enum_2Enum > A_27a,V2m: tyop_2Enum_2Enum] :
      ( ( c_2Eprim__rec_2EPRIM__REC @ A_27a @ V0x @ V1f @ V2m )
      = ( c_2Eprim__rec_2EPRIM__REC__FUN @ A_27a @ V0x @ V1f @ V2m @ ( c_2Eprim__rec_2EPRE @ V2m ) ) ) ).

thf(thm_2Eprim__rec_2Ewellfounded__def,axiom,
    ! [A_27a: $tType,V0R: A_27a > A_27a > $o] :
      ( ( c_2Eprim__rec_2Ewellfounded @ A_27a @ V0R )
    <=> ( (~)
        @ ? [V1f: tyop_2Enum_2Enum > A_27a] :
          ! [V2n: tyop_2Enum_2Enum] : ( V0R @ ( V1f @ ( c_2Enum_2ESUC @ V2n ) ) @ ( V1f @ V2n ) ) ) ) ).

thf(thm_2Eprim__rec_2Emeasure__def,axiom,
    ! [A_27a: $tType] :
      ( ( c_2Eprim__rec_2Emeasure @ A_27a )
      = ( c_2Erelation_2Einv__image @ A_27a @ tyop_2Enum_2Enum @ c_2Eprim__rec_2E_3C ) ) ).

thf(thm_2Eprim__rec_2EINV__SUC__EQ,axiom,
    ! [V0m: tyop_2Enum_2Enum,V1n: tyop_2Enum_2Enum] :
      ( ( ( c_2Enum_2ESUC @ V0m )
        = ( c_2Enum_2ESUC @ V1n ) )
    <=> ( V0m = V1n ) ) ).

thf(thm_2Eprim__rec_2EPRE,axiom,
    ( ( ( c_2Eprim__rec_2EPRE @ c_2Enum_2E0 )
      = c_2Enum_2E0 )
    & ! [V0m: tyop_2Enum_2Enum] :
        ( ( c_2Eprim__rec_2EPRE @ ( c_2Enum_2ESUC @ V0m ) )
        = V0m ) ) ).

thf(thm_2Eprim__rec_2ELESS__REFL,axiom,
    ! [V0n: tyop_2Enum_2Enum] : ( (~) @ ( c_2Eprim__rec_2E_3C @ V0n @ V0n ) ) ).

thf(thm_2Eprim__rec_2ESUC__LESS,axiom,
    ! [V0m: tyop_2Enum_2Enum,V1n: tyop_2Enum_2Enum] :
      ( ( c_2Eprim__rec_2E_3C @ ( c_2Enum_2ESUC @ V0m ) @ V1n )
     => ( c_2Eprim__rec_2E_3C @ V0m @ V1n ) ) ).

thf(thm_2Eprim__rec_2ENOT__LESS__0,axiom,
    ! [V0n: tyop_2Enum_2Enum] : ( (~) @ ( c_2Eprim__rec_2E_3C @ V0n @ c_2Enum_2E0 ) ) ).

thf(thm_2Eprim__rec_2ELESS__0,axiom,
    ! [V0n: tyop_2Enum_2Enum] : ( c_2Eprim__rec_2E_3C @ c_2Enum_2E0 @ ( c_2Enum_2ESUC @ V0n ) ) ).

thf(thm_2Eprim__rec_2ELESS__0__0,axiom,
    c_2Eprim__rec_2E_3C @ c_2Enum_2E0 @ ( c_2Enum_2ESUC @ c_2Enum_2E0 ) ).

thf(thm_2Eprim__rec_2ELESS__MONO,axiom,
    ! [V0m: tyop_2Enum_2Enum,V1n: tyop_2Enum_2Enum] :
      ( ( c_2Eprim__rec_2E_3C @ V0m @ V1n )
     => ( c_2Eprim__rec_2E_3C @ ( c_2Enum_2ESUC @ V0m ) @ ( c_2Enum_2ESUC @ V1n ) ) ) ).

thf(thm_2Eprim__rec_2ELESS__MONO__REV,axiom,
    ! [V0m: tyop_2Enum_2Enum,V1n: tyop_2Enum_2Enum] :
      ( ( c_2Eprim__rec_2E_3C @ ( c_2Enum_2ESUC @ V0m ) @ ( c_2Enum_2ESUC @ V1n ) )
     => ( c_2Eprim__rec_2E_3C @ V0m @ V1n ) ) ).

thf(thm_2Eprim__rec_2ELESS__MONO__EQ,axiom,
    ! [V0m: tyop_2Enum_2Enum,V1n: tyop_2Enum_2Enum] :
      ( ( c_2Eprim__rec_2E_3C @ ( c_2Enum_2ESUC @ V0m ) @ ( c_2Enum_2ESUC @ V1n ) )
      = ( c_2Eprim__rec_2E_3C @ V0m @ V1n ) ) ).

thf(thm_2Eprim__rec_2ETC__IM__RTC__SUC,axiom,
    ! [V0m: tyop_2Enum_2Enum,V1n: tyop_2Enum_2Enum] :
      ( ( c_2Erelation_2ETC @ tyop_2Enum_2Enum
        @ ^ [V2x: tyop_2Enum_2Enum,V3y: tyop_2Enum_2Enum] : ( c_2Emin_2E_3D @ tyop_2Enum_2Enum @ V3y @ ( c_2Enum_2ESUC @ V2x ) )
        @ V0m
        @ ( c_2Enum_2ESUC @ V1n ) )
      = ( c_2Erelation_2ERTC @ tyop_2Enum_2Enum
        @ ^ [V4x: tyop_2Enum_2Enum,V5y: tyop_2Enum_2Enum] : ( c_2Emin_2E_3D @ tyop_2Enum_2Enum @ V5y @ ( c_2Enum_2ESUC @ V4x ) )
        @ V0m
        @ V1n ) ) ).

thf(thm_2Eprim__rec_2ERTC__IM__TC,axiom,
    ! [A_27a: $tType,V0f: A_27a > A_27a,V1m: A_27a,V2n: A_27a] :
      ( ( c_2Erelation_2ERTC @ A_27a
        @ ^ [V3x: A_27a,V4y: A_27a] : ( c_2Emin_2E_3D @ A_27a @ V4y @ ( V0f @ V3x ) )
        @ ( V0f @ V1m )
        @ V2n )
      = ( c_2Erelation_2ETC @ A_27a
        @ ^ [V5x: A_27a,V6y: A_27a] : ( c_2Emin_2E_3D @ A_27a @ V6y @ ( V0f @ V5x ) )
        @ V1m
        @ V2n ) ) ).

thf(thm_2Eprim__rec_2ELESS__ALT,axiom,
    ( c_2Eprim__rec_2E_3C
    = ( c_2Erelation_2ETC @ tyop_2Enum_2Enum
      @ ^ [V0x: tyop_2Enum_2Enum,V1y: tyop_2Enum_2Enum] : ( c_2Emin_2E_3D @ tyop_2Enum_2Enum @ V1y @ ( c_2Enum_2ESUC @ V0x ) ) ) ) ).

thf(thm_2Eprim__rec_2ELESS__SUC__REFL,axiom,
    ! [V0n: tyop_2Enum_2Enum] : ( c_2Eprim__rec_2E_3C @ V0n @ ( c_2Enum_2ESUC @ V0n ) ) ).

thf(thm_2Eprim__rec_2ELESS__SUC,axiom,
    ! [V0m: tyop_2Enum_2Enum,V1n: tyop_2Enum_2Enum] :
      ( ( c_2Eprim__rec_2E_3C @ V0m @ V1n )
     => ( c_2Eprim__rec_2E_3C @ V0m @ ( c_2Enum_2ESUC @ V1n ) ) ) ).

thf(thm_2Eprim__rec_2ELESS__LEMMA1,axiom,
    ! [V0m: tyop_2Enum_2Enum,V1n: tyop_2Enum_2Enum] :
      ( ( c_2Eprim__rec_2E_3C @ V0m @ ( c_2Enum_2ESUC @ V1n ) )
     => ( ( V0m = V1n )
        | ( c_2Eprim__rec_2E_3C @ V0m @ V1n ) ) ) ).

thf(thm_2Eprim__rec_2ELESS__LEMMA2,axiom,
    ! [V0m: tyop_2Enum_2Enum,V1n: tyop_2Enum_2Enum] :
      ( ( ( V0m = V1n )
        | ( c_2Eprim__rec_2E_3C @ V0m @ V1n ) )
     => ( c_2Eprim__rec_2E_3C @ V0m @ ( c_2Enum_2ESUC @ V1n ) ) ) ).

thf(thm_2Eprim__rec_2ELESS__THM,axiom,
    ! [V0m: tyop_2Enum_2Enum,V1n: tyop_2Enum_2Enum] :
      ( ( c_2Eprim__rec_2E_3C @ V0m @ ( c_2Enum_2ESUC @ V1n ) )
    <=> ( ( V0m = V1n )
        | ( c_2Eprim__rec_2E_3C @ V0m @ V1n ) ) ) ).

thf(thm_2Eprim__rec_2ELESS__SUC__IMP,axiom,
    ! [V0m: tyop_2Enum_2Enum,V1n: tyop_2Enum_2Enum] :
      ( ( c_2Eprim__rec_2E_3C @ V0m @ ( c_2Enum_2ESUC @ V1n ) )
     => ( ( (~) @ ( V0m = V1n ) )
       => ( c_2Eprim__rec_2E_3C @ V0m @ V1n ) ) ) ).

thf(thm_2Eprim__rec_2EEQ__LESS,axiom,
    ! [V0m: tyop_2Enum_2Enum,V1n: tyop_2Enum_2Enum] :
      ( ( ( c_2Enum_2ESUC @ V0m )
        = V1n )
     => ( c_2Eprim__rec_2E_3C @ V0m @ V1n ) ) ).

thf(thm_2Eprim__rec_2ESUC__ID,axiom,
    ! [V0n: tyop_2Enum_2Enum] :
      ( (~)
      @ ( ( c_2Enum_2ESUC @ V0n )
        = V0n ) ) ).

thf(thm_2Eprim__rec_2ENOT__LESS__EQ,axiom,
    ! [V0m: tyop_2Enum_2Enum,V1n: tyop_2Enum_2Enum] :
      ( ( V0m = V1n )
     => ( (~) @ ( c_2Eprim__rec_2E_3C @ V0m @ V1n ) ) ) ).

thf(thm_2Eprim__rec_2ELESS__NOT__EQ,axiom,
    ! [V0m: tyop_2Enum_2Enum,V1n: tyop_2Enum_2Enum] :
      ( ( c_2Eprim__rec_2E_3C @ V0m @ V1n )
     => ( (~) @ ( V0m = V1n ) ) ) ).

thf(thm_2Eprim__rec_2ESIMP__REC__EXISTS,axiom,
    ! [A_27a: $tType,V0x: A_27a,V1f: A_27a > A_27a,V2n: tyop_2Enum_2Enum] :
    ? [V3fun: tyop_2Enum_2Enum > A_27a] : ( c_2Eprim__rec_2ESIMP__REC__REL @ A_27a @ V3fun @ V0x @ V1f @ V2n ) ).

thf(thm_2Eprim__rec_2ESIMP__REC__REL__UNIQUE,axiom,
    ! [A_27a: $tType,V0x: A_27a,V1f: A_27a > A_27a,V2g1: tyop_2Enum_2Enum > A_27a,V3g2: tyop_2Enum_2Enum > A_27a,V4m1: tyop_2Enum_2Enum,V5m2: tyop_2Enum_2Enum] :
      ( ( ( c_2Eprim__rec_2ESIMP__REC__REL @ A_27a @ V2g1 @ V0x @ V1f @ V4m1 )
        & ( c_2Eprim__rec_2ESIMP__REC__REL @ A_27a @ V3g2 @ V0x @ V1f @ V5m2 ) )
     => ! [V6n: tyop_2Enum_2Enum] :
          ( ( ( c_2Eprim__rec_2E_3C @ V6n @ V4m1 )
            & ( c_2Eprim__rec_2E_3C @ V6n @ V5m2 ) )
         => ( ( V2g1 @ V6n )
            = ( V3g2 @ V6n ) ) ) ) ).

thf(thm_2Eprim__rec_2ESIMP__REC__REL__UNIQUE__RESULT,axiom,
    ! [A_27a: $tType,V0x: A_27a,V1f: A_27a > A_27a,V2n: tyop_2Enum_2Enum] :
      ( c_2Ebool_2E_3F_21 @ A_27a
      @ ^ [V3y: A_27a] :
          ( c_2Ebool_2E_3F @ ( tyop_2Enum_2Enum > A_27a )
          @ ^ [V4g: tyop_2Enum_2Enum > A_27a] : ( c_2Ebool_2E_2F_5C @ ( c_2Eprim__rec_2ESIMP__REC__REL @ A_27a @ V4g @ V0x @ V1f @ ( c_2Enum_2ESUC @ V2n ) ) @ ( c_2Emin_2E_3D @ A_27a @ V3y @ ( V4g @ V2n ) ) ) ) ) ).

thf(thm_2Eprim__rec_2ELESS__SUC__SUC,axiom,
    ! [V0m: tyop_2Enum_2Enum] :
      ( ( c_2Eprim__rec_2E_3C @ V0m @ ( c_2Enum_2ESUC @ V0m ) )
      & ( c_2Eprim__rec_2E_3C @ V0m @ ( c_2Enum_2ESUC @ ( c_2Enum_2ESUC @ V0m ) ) ) ) ).

thf(thm_2Eprim__rec_2ESIMP__REC__THM,axiom,
    ! [A_27a: $tType,V0x: A_27a,V1f: A_27a > A_27a] :
      ( ( ( c_2Eprim__rec_2ESIMP__REC @ A_27a @ V0x @ V1f @ c_2Enum_2E0 )
        = V0x )
      & ! [V2m: tyop_2Enum_2Enum] :
          ( ( c_2Eprim__rec_2ESIMP__REC @ A_27a @ V0x @ V1f @ ( c_2Enum_2ESUC @ V2m ) )
          = ( V1f @ ( c_2Eprim__rec_2ESIMP__REC @ A_27a @ V0x @ V1f @ V2m ) ) ) ) ).

thf(thm_2Eprim__rec_2EPRIM__REC__EQN,axiom,
    ! [A_27a: $tType,V0x: A_27a,V1f: A_27a > tyop_2Enum_2Enum > A_27a] :
      ( ! [V2n: tyop_2Enum_2Enum] :
          ( ( c_2Eprim__rec_2EPRIM__REC__FUN @ A_27a @ V0x @ V1f @ c_2Enum_2E0 @ V2n )
          = V0x )
      & ! [V3m: tyop_2Enum_2Enum,V4n: tyop_2Enum_2Enum] :
          ( ( c_2Eprim__rec_2EPRIM__REC__FUN @ A_27a @ V0x @ V1f @ ( c_2Enum_2ESUC @ V3m ) @ V4n )
          = ( V1f @ ( c_2Eprim__rec_2EPRIM__REC__FUN @ A_27a @ V0x @ V1f @ V3m @ ( c_2Eprim__rec_2EPRE @ V4n ) ) @ V4n ) ) ) ).

thf(thm_2Eprim__rec_2EPRIM__REC__THM,axiom,
    ! [A_27a: $tType,V0x: A_27a,V1f: A_27a > tyop_2Enum_2Enum > A_27a] :
      ( ( ( c_2Eprim__rec_2EPRIM__REC @ A_27a @ V0x @ V1f @ c_2Enum_2E0 )
        = V0x )
      & ! [V2m: tyop_2Enum_2Enum] :
          ( ( c_2Eprim__rec_2EPRIM__REC @ A_27a @ V0x @ V1f @ ( c_2Enum_2ESUC @ V2m ) )
          = ( V1f @ ( c_2Eprim__rec_2EPRIM__REC @ A_27a @ V0x @ V1f @ V2m ) @ V2m ) ) ) ).

thf(thm_2Eprim__rec_2EDC,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1R: A_27a > A_27a > $o,V2a: A_27a] :
      ( ( ( V0P @ V2a )
        & ! [V3x: A_27a] :
            ( ( V0P @ V3x )
           => ? [V4y: A_27a] :
                ( ( V0P @ V4y )
                & ( V1R @ V3x @ V4y ) ) ) )
     => ? [V5f: tyop_2Enum_2Enum > A_27a] :
          ( ( ( V5f @ c_2Enum_2E0 )
            = V2a )
          & ! [V6n: tyop_2Enum_2Enum] :
              ( ( V0P @ ( V5f @ V6n ) )
              & ( V1R @ ( V5f @ V6n ) @ ( V5f @ ( c_2Enum_2ESUC @ V6n ) ) ) ) ) ) ).

thf(thm_2Eprim__rec_2Enum__Axiom__old,axiom,
    ! [A_27a: $tType,V0e: A_27a,V1f: A_27a > tyop_2Enum_2Enum > A_27a] :
      ( c_2Ebool_2E_3F_21 @ ( tyop_2Enum_2Enum > A_27a )
      @ ^ [V2fn1: tyop_2Enum_2Enum > A_27a] :
          ( c_2Ebool_2E_2F_5C @ ( c_2Emin_2E_3D @ A_27a @ ( V2fn1 @ c_2Enum_2E0 ) @ V0e )
          @ ( c_2Ebool_2E_21 @ tyop_2Enum_2Enum
            @ ^ [V3n: tyop_2Enum_2Enum] : ( c_2Emin_2E_3D @ A_27a @ ( V2fn1 @ ( c_2Enum_2ESUC @ V3n ) ) @ ( V1f @ ( V2fn1 @ V3n ) @ V3n ) ) ) ) ) ).

thf(thm_2Eprim__rec_2Enum__Axiom,axiom,
    ! [A_27a: $tType,V0e: A_27a,V1f: tyop_2Enum_2Enum > A_27a > A_27a] :
    ? [V2fn: tyop_2Enum_2Enum > A_27a] :
      ( ( ( V2fn @ c_2Enum_2E0 )
        = V0e )
      & ! [V3n: tyop_2Enum_2Enum] :
          ( ( V2fn @ ( c_2Enum_2ESUC @ V3n ) )
          = ( V1f @ V3n @ ( V2fn @ V3n ) ) ) ) ).

thf(thm_2Eprim__rec_2EWF__IFF__WELLFOUNDED,axiom,
    ! [A_27a: $tType,V0R: A_27a > A_27a > $o] :
      ( ( c_2Erelation_2EWF @ A_27a @ V0R )
      = ( c_2Eprim__rec_2Ewellfounded @ A_27a @ V0R ) ) ).

thf(thm_2Eprim__rec_2EWF__PRED,axiom,
    ( c_2Erelation_2EWF @ tyop_2Enum_2Enum
    @ ^ [V0x: tyop_2Enum_2Enum,V1y: tyop_2Enum_2Enum] : ( c_2Emin_2E_3D @ tyop_2Enum_2Enum @ V1y @ ( c_2Enum_2ESUC @ V0x ) ) ) ).

thf(thm_2Eprim__rec_2EWF__LESS,axiom,
    c_2Erelation_2EWF @ tyop_2Enum_2Enum @ c_2Eprim__rec_2E_3C ).

thf(thm_2Eprim__rec_2EWF__measure,axiom,
    ! [A_27a: $tType,V0m: A_27a > tyop_2Enum_2Enum] : ( c_2Erelation_2EWF @ A_27a @ ( c_2Eprim__rec_2Emeasure @ A_27a @ V0m ) ) ).

thf(thm_2Eprim__rec_2Emeasure__thm,axiom,
    ! [A_27a: $tType,V0f: A_27a > tyop_2Enum_2Enum,V1x: A_27a,V2y: A_27a] :
      ( ( c_2Eprim__rec_2Emeasure @ A_27a @ V0f @ V1x @ V2y )
      = ( c_2Eprim__rec_2E_3C @ ( V0f @ V1x ) @ ( V0f @ V2y ) ) ) ).

%------------------------------------------------------------------------------